﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Helena.Areas.Categorias;
using Helena.Areas.Campanas.Models;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace Helena.Areas.Productos.Models
{
    public class DetalleProductoView
    {
        public int ID { get; set; }
        public bool Estado { get; set; }

        [Required]
        [DisplayName("Producto Base")]
        public int ProductoSID { get; set; }

        [DisplayName("Productos Agregados")]
        public int ProductoCID { get; set; }
        
        [Required]
        [DisplayName("Presentacion")]
        public int UnidadID { get; set; }
        
        [Required]
        [DisplayName("Cantidad")]
        public double Cantidad { get; set; }

        [Required]
        [DisplayName("Precio")]
        public decimal PrecioVenta { get; set; }

        public DetalleProductoView() { Estado = true; }
        
        public DetalleProductoView(DetalleProducto detalleproducto) 
        {
            this.ID = detalleproducto.ID;
            this.Estado = detalleproducto.Estado;
            this.ProductoSID = detalleproducto.ProductoID;
            this.ProductoCID = detalleproducto.ProductoCID;
            this.UnidadID = detalleproducto.unidadID;
            this.Cantidad = detalleproducto.Cantidad;
            this.PrecioVenta = detalleproducto.PrecioVenta;
        }

        public DetalleProducto deserializa(InterfazLogicaProducto logica)
        {
            return new DetalleProducto
            {
                ID=this.ID,
                Estado=this.Estado,
                ProductoID=this.ProductoSID,
                ProductoCID=this.ProductoCID,
                unidadID=this.UnidadID,
                Cantidad=this.Cantidad,
                PrecioVenta=this.PrecioVenta
            };
        }
    }
}